package Question3_1;
public class QuestionB {
public static int stackSize = 300;
public static int indexUsed = 0;
public static int[] stackPointer = {-1,-1,-1};
public static StackNode[] buffer = new StackNode[stackSize * 3];
public static void main(String [] args){
push(2, 4);
System.out.println(peek(2));
push(0, 3);
push(0, 7);
push(0, 5);
System.out.println(peek(0));
pop(0);
System.out.println(peek(0));
pop(0);
System.out.println(peek(0));
}
public static void push(int stackNum, int value) {
int lastIndex = stackPointer[stackNum];
stackPointer[stackNum] = indexUsed;
indexUsed++;
buffer[stackPointer[stackNum]]=new StackNode(lastIndex,value);
}
public static int pop(int stackNum) {
int value = buffer[stackPointer[stackNum]].value;
int lastIndex = stackPointer[stackNum];
stackPointer[stackNum] =
buffer[stackPointer[stackNum]].previous;
buffer[lastIndex] = null;
indexUsed--;
return value;
}
public static int peek(int stackNum) {
return buffer[stackPointer[stackNum]].value;
}
public static boolean isEmpty(int stackNum){
return stackPointer[stackNum] == -1;
}
}